// 采血登记
Ext.extend(CQCIS.module, {
    init: function() {
    	var listMeta = [{
			field: 'bloodId',
            desc: '采血序列号',
            width: 50
		}, {
		    field: 'bloodDonor',
            desc: '献血者姓名',
            width: 50
		}, {
            field: 'bloodNum',
            desc: '献血者身份证',
            width: 100
        }, {
            field: 'bloodType',
            desc: '献血者血型',
            renderer: function(value) {
                switch(value) {
                    case 'A':
                    return 'A型';
                    case 'B':
                    return 'B型';
                    case 'AB':
                    return 'AB型';
                    case 'O':
                    return 'O型';
                    case 'T':
                    return '稀有血型';
                }
                return value;
            },
            width: 40
        }, {
            field: 'bloodVolume',
            desc: '采血量（ML）',
            width: 60
        }, {
            field: 'takeType',
            desc: '采血类型',
            renderer: function(value) {
            	switch(value) {
            		case '1':
            		return '自愿献血';
            		case '2':
                    return '手术用血';
                    case '3':
                    return '有偿采血';
            	}
            	return value;
            },
            width: 50
        }, {
            field: 'workerId',
            desc: '采血者',
            renderer: function(value) {
            	workerDwr.getWorker(value, {
            		callback: function(worker) {
            			if (worker != null) {
            				value = worker.staffName;
            			}            			
            		},
            		async: false
            	});
            	
            	return value;
            },
            width: 80
        }, {
            field: 'takeTime',
            desc: '采血时间',
            type: 'date',
            width: 80
        }, {
            field: 'takeLocation',
            desc: '采血地点',
            renderer: function(value) {
            	takeLocationDwr.getTakeLocation(value, {
            		callback: function(local) {
            			if (local) {
            				value = local.locationName;
            			}
            		},
            		async: false
            	});
                                
                return value;
            },
            width: 100
        }];
        
        var transFunc = function(value) {
	        switch(value) {
	            case 'A':
	            return 'A型';
	            case 'B':
	            return 'B型';
	            case 'AB':
	            return 'AB型';
	            case 'O':
	            return 'O型';
	            case 'T':
	            return '稀有血型';
	        }
	        return value;
	    };
        
        // 工具栏增加按钮
        var typeQueryBtn = new Ext.Toolbar.Button({
            text: '血型记录统计',
            iconCls: 'btn_insert',
            handler: function() {
            	var html = [];
            	html.push('<table width="200">');
                takeDwr.queryTakeTypeCount({
                	callback: function(results) {
                		if (results) {                			
                			for(var i = 0; i < results.length; i ++) {
                				var r = results[i];
                				
                				html.push('<tr>');
                				html.push('<td>', '<b>',transFunc(r.key),'&nbsp;</b>：', '</td>');
                				html.push('<td>', r.label, '</td>');
                				html.push('</tr>');
                			}
                		}
                	},
                	async: false
                });
                html.push('</table>');
                Ext.Msg.alert('血型记录统计结果', html.join(''));
            }
        });
        
        // 工具栏增加按钮
        var queryBtn = new Ext.Toolbar.Button({
            text: '查询采血记录',
            iconCls: 'btn_insert',
            handler: function() {
                grid.reload();
            }
        });
        
        // 血型
        var cbxCheck = new Ext.form.ComboBox({
            store: [['A', 'A型'], ['B', 'B型'], ['AB', 'AB型'], ['O', 'O型'], ['T', '稀有血型']],
            triggerAction: 'all',
            mode: 'local',
            editable: false,
            width: 100,
            listeners: {
                'select': function(o){
                    grid.filter['bloodType'] = o.getValue();
                }
            }
        });
                        
        // 员工信息grid
        var grid = new CQCIS.grid.PageGrid({
            id: 'sm_takequery_grid',
            firstColumn: 'radio',
            dwr: {
                call: takeDwr.pageCondTakes
            },
            metas: listMeta,
            tbar: [typeQueryBtn, '请选择血型:', cbxCheck, queryBtn],
            initload: false,
            bbar: 'true'
        });
        
        // 定义关联销毁对象数组，避免内存泄漏
        //this.main.associatedComp = [staffWorkerWin, endueWin, endueConsultWin, endueRoleWin, enduetakeWin];
        // 定义页面主元素
        this.main.add(grid);
        // 布局更新
        this.main.doLayout();
    }
});